<template>
  <div>
    <el-dialog
      v-dialogDrag
      title="预览"
      :visible.sync="dialogVisible"
      width="80%"
      :before-close="handleClose"
    >
      <!-- <div class='demo'>
     <video-player class="video-player vjs-custom-skin"
        ref="videoPlayer"
        :playsinline="true"
        :options="playerOptions">
     </video-player>
   </div> -->
      <div class="main">
        <!-- <div v-if="loadedRatio > 0 && loadedRatio < 1" style="background-color: green; color: white; text-align: center" :style="{ width: loadedRatio * 100 + '%' }">{{ Math.floor(loadedRatio * 100) }}%</div> -->
        <p class="page-number">{{ currentPage }} / {{ pageCount }}</p>
        <span @click="prePage" class="el-icon-arrow-left"></span>
        <span @click="nextPage" class="el-icon-arrow-right"></span>
        <pdf
          :page="currentPage"
          @num-pages="pageCount = $event"
          @loaded="loadPdfHandler"
          :src="
            'http://sapi.ps.cqooc.com/unit/attach/playurl?attach_id=' +
            attachId +
            '&token=' +
            token
          "
        >
        </pdf>
      </div>
    </el-dialog>
  </div>
</template>
<script>
import pdf from "vue-pdf";
export default {
  data() {
    return {
      dialogVisible: true,
      // 播放器
      playerOptions: {
        playbackRates: [0.5, 1.0, 1.5, 2.0], // 可选的播放速度
        autoplay: false, // 如果为true,浏览器准备好时开始回放。
        muted: false, // 默认情况下将会消除任何音频。
        loop: false, // 是否视频一结束就重新开始。
        preload: "auto", // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频（如果浏览器支持）
        language: "zh-CN",
        aspectRatio: "16:9", // 将播放器置于流畅模式，并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字（例如"16:9"或"4:3"）
        fluid: true, // 当true时，Video.js player将拥有流体大小。换句话说，它将按比例缩放以适应其容器。
        sources: [
          {
            type: "video/mp4", // 类型
            src: "https://v-cdn.zjol.com.cn/280443.mp4", // url地址
          },
        ],
        poster: "", // 封面地址
        notSupportedMessage: "此视频暂无法播放，请稍后再试", // 允许覆盖Video.js无法播放媒体源时显示的默认信息。
        controlBar: {
          timeDivider: true, // 当前时间和持续时间的分隔符
          durationDisplay: true, // 显示持续时间
          remainingTimeDisplay: false, // 是否显示剩余时间功能
          fullscreenToggle: true, // 是否显示全屏按钮
        },
      },
      currentPage: 1,
      pageCount: 0,
      token: sessionStorage.getItem("token"),
    };
  },
  props: {
    attachId: String,
  },
  components: {
    pdf: pdf,
  },
  // watch: {
  //   attachId: function(newVal,oldVal){
  //     if(newVal){
  //       console.log(newVal);
  //     }
  //   }
  // },
  methods: {
    // AttachIdFun(){
    //   this.attachid2 = this.AttachId;
    //   // this.loadingTask = 'http://sapi.ps.cqooc.com/unit/attach/playurl?attach_id'+this.attachid+'&token'+this.token
    //   console.log(this.attachid);
    // },
    handleClose() {
      if (this.type === "mp4") {
        this.$refs.videoPlayer.player.pause();
      }
      this.dialogVisible = false;
    },
    prePage() {
      if (this.currentPage <= 1) return;
      this.currentPage -= 1;
    },
    nextPage() {
      if (this.currentPage >= this.pageCount) return;
      this.currentPage += 1;
    },
    loadPdfHandler(e) {
      console.log(e);
      this.currentPage = 1; // 加载的时候先加载第一页
    },
  },
};
</script>
<style lang="scss" scoped>
/deep/.el-dialog__body {
  padding: 10px 20px 20px !important;
}
.main {
  position: relative;
  .page-number {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    color: #000;
    z-index: 1;
  }
  .el-icon-arrow-left,
  .el-icon-arrow-right {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 30px;
    color: #000;
    z-index: 1;
  }
  .el-icon-arrow-left {
    left: 10px;
  }
  .el-icon-arrow-right {
    right: 10px;
  }
}
</style>
